- web6047 - (2021/09/10(金) 現在、システム調整中のため、一部の表示がおかしいかもしれません)

there is no canvas.

homepage6047 2019年 6月

プログラミングやRPG(作るほう)が好きな人の日記


2019/6/30(日)

ガンプラ MGストライクルージュ -[plamo]

MGストライクルージュが完成したので写真を掲載します。

(ガンプラ写真掲載における著作権については後述しています)

写真では同製品の説明書や箱のポーズを再現しています。

ガンプラは、どうポーズを取るかが大切で、ポーズ次第では魅力を感じなかったり、大きな魅力を発揮したりと、違いが出てきます。

製作方法:素組み


説明書2ページ目の線画
フロント

説明書2ページ目の線画
リア

説明書10ページ目
フロント

説明書10ページ目
リア

説明書11ページ目
スターティング アクション1

説明書11ページ目
スターティング アクション2

箱側面
ディスプレイベース1

箱側面
ディスプレイベース2

箱側面
ウェポン

説明書11ページ目
ダイナミックなアクションポーズ

説明書11ページ目
内部フレーム、大胆な可動

私的
肩のせり出し構造 背面

私的
肩のせり出し構造 正面

私的
正面から撮影

デカールは左肩と左足首の2か所だけ貼りました。

このデカールは水で濡らして貼るタイプではなく、こすって転写するタイプで、貼ってる途中で腕が震えるとその動きでやぶれてしまうので非常に苦労しました。とても神経を使うので子供さんには無理な作業だと思いました。

写真では「しゃがみ」ポーズもありますが、これはポーズを取るのは非常に難しかったです。


このプラモ自分もほしいという場合は

アマゾン(MGストライクルージュ)

同じMGストライクルージュでも「オオトリ装備 Ver.RM」などは、カタパルトを再現したディスプレイベースは付属していないので注意してください。

「メーカー型番: BAN129450」のこの番号を合わせれば、大丈夫だと思いますが、自分でよく確認してください。

バンダイホビーサイト記事検索(MGストライクルージュ)

そのほか楽天とかにもあるかもしれませんね。


ガンプラ写真と著作権について

自分のホームページで かっこよくて魅力的なガンプラの写真を掲載するとき、その著作権(バンダイの権利)はどうなっているんでしょうか?

「ガンプラ 写真 著作権」をキーワードにウェブ検索すると下記検索結果のように、みなさん気にしているようです。

「ガンプラ 写真 著作権」検索結果

その中でバンダイに問い合わせをして回答をもらった方もいらっしゃいます。

著作権問い合わせ結果(ガンプラの画像公開について) - クレアの趣味部屋 さん

そのバンダイの回答によると、ガンプラをウェブサイトに掲載することは「原則としてお断りしている」とのことです。

みなさんいろいろ考えているようで、「ガンプラの写真をウェブサイトに掲載する行為はファン活動の一環として黙認されている」という考え方が行き着くところのようです。

私もそのような考えのもとに掲載させてもらおうと思います。

そういうわけで今回は写真に黒帯を入れていません。


(訪問者のどんなニーズと この記事がつながるか)


2019/6/28(金)

最近の買い物を書いてみます。


最近見た映画。-[eiga]


アニメ。


(訪問者のどんなニーズと この記事がつながるか)


2019/6/16(日)

地底人のたいまつはどう見えるか実験

―――ある洞窟を探検していたら、井戸のような穴を見つけた。

穴をのぞくと暗闇のなかで小さな光が動いている。

よく見ると、どうも地底の奥底で人間か何かが明かりをつけて動いているようだった―――


上から穴をのぞいている人を「トッパーマン」と名付けます。

そして地底の奥底の人間を「ボトムズ」と名付けます。(装甲騎兵じゃないです)

二人が手に持っているのはたいまつです。


横から見るとこうなっています。

この x m をいろいろ変えてみて、トッパーマンから見てボトムズ君がどう見えるか、3DCGソフトを使って実験してみましょう。


▼ボトムズ君まで100m下の場合

呼びかければ応えそうな距離ですね。

「おーい、そんなところで何をしている?」


▼200m下

遠くなりましたねえ。

呼びかけるのも 応えるのも ちょっと難しいかも?


▼500m下

だいぶ遠い!


▼1000m下

かなり遠い! 呼んで気づくかなぁ?

(この記事の最初の物語の記述は、こういう画を想像していました)


▼5000m下

もはやボトムズ君のたいまつの光はうっすらとした点でしかありません。

世界最高峰の山「エベレスト」が標高8800mなので、5000mというのは…だいぶ下だね。

ヤッホー!って言っても気づきませんよ。


***


ではトッパーマンから呼びかけられたとき、ボトムズ君が上を見てどう見えるかちょっとだけ見てみましょう。

▼近いところから始めて、5m上 の場合

トッパーマン、見えますねぇ。呼ばれたら、ぜんぜん応えられる。

たいまつ自体が見えないことに注意。


▼50m上

これだとわからないんじゃないかなぁ?


▼200m上

よく見るとわずかに灰色の点が!

トッパーマンの 200m下 のときに "呼びかけるのも 応えるのも ちょっと難しいかも?" と書きましたが、無理でしょ。

トッパーマンのときはボトムズ君は結構見えたんだけど。

←トッパーマン200m


じゃあ、たいまつを穴の中央に見えるようにしてくれたら? 見えるかな?


▼200m上

たいまつを見せてくれても、こんな点でしかないですね。

トッパーマン「おーい!」

ボトムズ「あの点?あそこから呼びかけてんの?」

ってかんじかな?


―――こんな洞窟のさらに地底に人々が生活しているとは!

これから洞窟を進むのだが、まさか地底人たちに会うことになろうとは

このときはまだ思ってもみなかった―――


…RPGでそんな場面を描こうかなぁなんて思っています。


(訪問者のどんなニーズと この記事がつながるか)


2019/6/15(土)

3DCGモデリング -[modeling]

今日も Shade3D Ver17 Basic を使って 3DCG モデリングです。

前回とあまり変わりませんが、進めたところは、

  1. 目に景色が映りこむようにした。
  2. 目の下のくまの原因を調べて、直した。


1. 「君の瞳に僕が映ってる」 目に景色が映りこむようにしました。

景色が映りこむと、感激ですね。


▼目玉を選択して…
▼「材質」の「反射」に値をセットするだけです。



2. それから目の下に 疲れたときに出る「くま」みたいな影があって、どうして影ができるのか調べました。

▼画像をクリックすると「くま」部分を示します
▼髪の毛を外すと影はできません


図で示した通り、天空からの光(IBLの光)に照らされて、盛り上がった前髪の影がその部分に落ちて「くま」みたいに見えています。

これを消すにはどうすればいいか…


いろいろ調べたんですが、結局は、ほう のあたりの形状の修正で直りました。

▼笑い顔にしようと思ってほうを持ち上げていたが、影が落ちてしまう。
▼笑い顔はやめて引っ込めた。影は落ちなくなった。


レンダリングすると下図のようになります。

元はと言えば、笑い顔を実際に見ないで、想像で ほうの頂点を安易に持ち上げたことがいけなかったみたいです。


▼Before 前髪の影がほうに落ちている。
▼After すっきりしました。


ガンダムのできそこないみたいなポリゴンモデルを作っていた私が上図のようなモデルを作れるようになったのは、「キャラクターモデリング造形力矯正バイブル第2版」(アマゾンリンク)という本のおかげです。この本は今現在読み進めているところですが、P111の上部で「頭の中の蓄積された思い込みを消去せよ! 真っ白な状態で形状を観察せよ!」と言っています。

「良い顔は、ほうを持ち上げればいい」と思いこんでモデリングしていた私は今回のようなNGをおかして、然りでした。

ちゃんと資料を探して資料を見ながらモデリングしないといけないんだよなぁ…面倒だけど(←素人なセリフ)

(※ところで、上図の左の、笑顔にしようとした顔もほんとうは捨てがたいです。やっぱり笑顔は愛嬌があるので)

  

(訪問者のどんなニーズと この記事がつながるか)


2019/6/13(木)

「NO PC WEEK」のすすめ -[no_pc]

先週 6/6(木)~ 本日 6/13(木)までの1週間。「NO PC WEEK」と称して、パソコンでの創作活動を一切停止していました。

あんまりパソコンしすぎていて、身体の不調や、生活上必要なことができなかったりといろいろ問題があってそんな自分を見かねて実行しました。

具体的にどう実行したかというと、パソコンで映画を観るとか、音楽を聴くとか、だれかのホームページを見る等、メディアの観賞は 可 とし、何か描くとかプログラミングするとかパソコンのチューニングをするとかウェイトの大きい作業は 不可 としました。ただし、メディアの観賞のうち、パソコンで自分のホームページを見るのは不可とし、スマートホンなど小さな機械で自分のホームページを見るのは可としました。パソコンで自分のホームページを見ると創作の意欲がわいてしまうので。

それで良かったことを書いておきます。

最近、世間でもスマートホンのやりすぎ、ゲームのやりすぎ、仕事でパソコン使って趣味でも使って疲れてる等、いろいろ問題になっているので、私が行った「NO PC WEEK」は、皆さんにも参考になるのではと思います。

「NO PC WEEK」良かったこと:

できればそういう自分のままでいたい気もしますが(つまりこの取り組み「NO PC WEEK」はとても良かった)、とりあえず1週間と決めていたので、「NO PC WEEK」は終了し、また創作活動を始めるのかなと思います。正直、「NO PC WEEK」がほんとに良くて、過酷な創作活動に戻るのが怖いくらいです。

また必要になったら「NO PC WEEK」をやろうと思います。

みなさんも本当は、ゲーム漬けの自分、パソコンでの創作漬けの自分が嫌なんじゃないですか? 試しに「NO PC WEEK」をやってみてはどうでしょう? 家族から歓迎されると思います。 パソコンを使わない自分はどんななのか、その辺の情報を得る目的でやってみると良いと思います。本当はやりすぎず、ほどほどにできる自分がいればいいんですよね。

なお、「NO PC WEEK」の実行の最中、何度か誘惑に誘われました。創作のアイデアが浮かんで「形にしたい」という欲求にかられたんです。ゲーム漬けの人にとっては「ネットゲームの状況は今どうなっているか」とか「トライアルの最中のものを放置してあるのが気になる」とか「仲間がどう思っているか」とか、そういったところでしょうか。私の場合は簡単に振り払えましたが、ネットゲームとかだとどうなんでしょうね。また、若い人ほど誘惑に勝つのは難しいかもしれません。人生経験が浅いから。


(訪問者のどんなニーズと この記事がつながるか)


2019/6/4(水)

3DCGモデリング -[modeling]

「キャラクターモデリング造形力矯正バイブル第2版」を読みながらモデリングをしています。

同じモデルでも修正を重ねるとだいぶ変わって面白いですね。

どの時点でもそれぞれ気に入ってたんですよ。

▼下図は同書 Part1 Lesson2 step6(P93) の時点


▼下図は同書 Part1 Lesson3 step13(P134) の時点

▼下図は同書 Part2 Lesson2 step4(P152) を終えたところ

まだおかしいところはあるんですが、だいぶまとまってきました。

最後の顔の目鼻口のバランスは新垣結衣の写真を見ながら決めました。

(「女の子 顔」で検索して正面を向いた手ごろな写真が出てきたのが新垣結衣だったので)


(訪問者のどんなニーズと この記事がつながるか)


2019/6/2(日)

RPGの試作 -[rpg]

fig.
▲RPGの試作

この試作品は以下のブラウザで動作確認しました。

  • Windows 10, 7 Firefox Quantum ver 67.0 (64bit)
  • Windows 10 Google Chrome ver 74.0 (64bit)

少し変だけど動作したブラウザ

  • Windows 10 Microsoft Edge (64bit)(新しいEdgeはバージョンがわからなかった:-()

動作できなかったブラウザ

  • Windows 10, 7 Internet Explorer 各バージョン


私が生涯(10歳くらいのころから30年以上)を通じて取り組んでいる RPG の試作品です。

前回と比べて、

  • 音が鳴る。(最初に画面上部の「apply sounds」ボタンを押すこと)
    注意: 「apply sounds」ボタンを押さなくても、マップの画面を表示した段階でブラウザは "ユーザーは音を出すことを承認した" と判断し、音楽がジャンジャンなりますのでご注意ください。
  • 町に乗ると「町に乗った」と表示される。イベントです。

一連のファイルをまとめたzip (10.5MB) ※開発中で ちらかったままです

 

イベントスクリプトの実行のために構文解析を自作

RPG にはなんらかのイベントスクリプトの実行環境が必要だと思いますが、この RPG はJavaScript の構文解析を自前で行って実行するようにしています。

JavaScript に delay() 関数さえあれば構文解析なんて大変なものをやらなくても済むんですが、delay() はないので仕方ありません。

delay() は RPG のイベントの実行時に、アニメーションしたり少し間を置く処理のために必要なんです。

JavaScript の Promise というものを使えば、delay() の実現は可能ですが、

などの理由で Promise ではなく、自分の構文解析を選びました。


Promise を使う場合、delay()  の実現はこんな感じです。

<!DOCTYPE html> <!--ESCAPEPROCESS-->

<head>

<title>UntitledHomepage6047Document</title>

<meta content="text/html; charset=UTF-8" http-equiv="content-type">

<script>

console.clear();


function delay( ms ) {

return new Promise( tellResolved => setTimeout( tellResolved, ms ) );

}


async function onloadx() {

console.log( 'a' );

await delay( 1000 );

/*

await 式は async function の実行を一時停止し、Promise の解決または拒否を待ちます。

解決した後に async function の実行を再開します。

*/

console.log( 'b' );


for ( let i = 0; i < 5; i++ ) {

await delay( 500 );

console.log( i );

}

}


</script>

<style>

</style>

</head>

<body onload="onloadx()">

Hello.<BR>

コンソールを開いてください。firefoxの場合は ctrl + shift + j<BR>

開いたら、ブラウザの更新ボタンを押してください。<BR>

</body>

</html>


以上を実行する


私の構文解析のプログラムはこれです。コメントは古くなったりしていてあまりあてになりません。

new Scr( ソースコード ) として、exec() メソッドを呼べば JavaScript が実行され、ソースコード中の delay(); が来ると数 ms 停止します。

{...} こういうブロックごとにオブジェクトを作成し、そのオブジェクトを変数を格納する環境にすることで変数スコープに対応しています。

ブロックが入れ子になると、それまでのブロックをスタックに入れるとか、CPU みたいなことをやっています。

環境は全部オブジェクトの中に保管されるので、delay() のために実行ループを一度抜けて setTimeout() で数 ms 停止してループを最初から始めたとしても、それまでのオブジェクトを見るので、まるで delay() を JavaScript が実装しているかのように見えます。


(訪問者のどんなニーズと この記事がつながるか)



webappsrcの確認

1. %%com.webapp.src:/webappsrccheck.html%%
と記述した場合

webapps/src/default.cssのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数

console.log( "文字列" );

}

function Class1() {

//クラス

console.log( "文字列" );

}

Class1.prototype.method1 = function() {

//メソッド

console.log( "文字列" );

}

</script>

</head>

<body onload="onloadx();" style="">

Hello world!<BR>

</body>

</html>



2. <code>
%%com.webapp.src:/webappsrccheck.html%%
</code>
と記述した場合

このファイルのcodeのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数

console.log( "文字列" );

}

function Class1() {

//クラス

console.log( "文字列" );

}

Class1.prototype.method1 = function() {

//メソッド

console.log( "文字列" );

}

</script>

</head>

<body onload="onloadx();" style="">

Hello world!<BR>

</body>

</html>



3.
%%com.webapp.src:/webappsrccheck2.html,/webappsrccheck.html%%
と記述した場合

webapps/src/default.cssのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数 コメント変更

console.log( "文字列変更" );

行追加

}

function Class1() {

//クラス コメント変更

console.log( "文字列変更" );

行追加

}

Class1.prototype.method1 = function() {

//メソッド コメント変更

console.log( "文字列変更" );

行追加

}

</script>

</head>

<body onload="onloadx();文字列変更" style="">

Hello world!<BR>

HTML追加

</body>

</html>



4. <code>
%%com.webapp.src:/webappsrccheck2.html,/webappsrccheck.html%%</code>
と記述した場合

このファイルのcodeのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数 コメント変更

console.log( "文字列変更" );

行追加

}

function Class1() {

//クラス コメント変更

console.log( "文字列変更" );

行追加

}

Class1.prototype.method1 = function() {

//メソッド コメント変更

console.log( "文字列変更" );

行追加

}

</script>

</head>

<body onload="onloadx();文字列変更" style="">

Hello world!<BR>

HTML追加

</body>

</html>



5. リンクで
src?webappsrccheck.html
と記述した場合

webapps/src/default.cssのスタイル指定が効く
開く

6. リンクで
src?webappsrccheck2.html,webappsrccheck.html
と記述した場合

webapps/src/default.cssのスタイル指定が効く
開く